//导入自己封装的axios实例
import { getToken } from '@/utils/myToken'
import axios from '@/utils/request'

//导入接口函数
//用户登录
export const userLogin = (data) =>{
    // 函数返回值
    return axios({
        method:'post',
        url:'/login',
        data
    })
}
//用户注册
export const userRegister = (data)=>{
    return axios({
        method:'post',
        url:'/register',
        data
    })
}
//用户详情
export const userDetail = (id) => {
    return axios({
        method:'get',
        url:`/user/${id}`,
        // `headers` 是即将被发送的自定义请求头
        headers: {
            Authorization:getToken()
        }
    })
}

// 文件上传
export const uploadFile = (file) =>{
    return axios({
        method:'post',
        url:`/upload`,
        data:file,
        headers: {
            Authorization:getToken()
        }
    })
}

//编辑用户信息 需要验证:【Authorization】
export const userUpdate = ({id,...data}) =>{
    return axios({
        method:'post',
        url:`/user_update/${id}`,
        data: data,
        headers:{
            Authorization:getToken()
        }
    })
}

//关注接口1. 获取用户关注列表
export const getUserFollows = () => {
    return axios({
        method:'get',
        url:`/user_follows`,
        headers:{
            Authorization:getToken()
        }
    })
}

// 关注接口2. 根据id添加关注
export const addUserFollowsById = (id) =>{
    return axios({
        method:'get',
        url:`/user_follows/${id}`,
        headers:{
            Authorization:getToken()
        }
    })
}

// 关注接口3. 根据 id 取消关注
export const removeUserFollowsById = (id) =>{
    return axios({
        method:'get',
        url:`/user_unfollow/${id}`,
        headers:{
            Authorization:getToken()
        }
    })
}

//获取栏目列表
export const getCategory = () =>{
    return axios({
        method:'get',
        url:`/category`,
        headers:{
            Authorization:getToken()
        }
    })
}

//获取文章列表
export const getPostList = (params) => {
    return axios({
        method:'get',
        url:`/post`,
        params:params,
        headers:{
            Authorization:getToken()
        }
    })
}

//获取收藏文章列表
export const getStarList = () => {
    return axios({
        method:'get',
        url:`/user_star`,
        headers:{
            Authorization: getToken()
        }
    })
}

//获取文章详情
// 已经登录：验证:【Authorization】 - 登录的状态下：返回的结果中有 点赞的数量，是否关注。
// 没有登录：返回的知识普通的文章展示。
export const getPostById = (id) => {
    return axios({
        method:'get',
        url:`/post/${id}`,
        headers:{
            Authorization: getToken()
        }
    })
}

//根据 id 对文章点赞 或 取消点赞
export const updatePostLiskeById = (id) => {
    return axios({
        method:'get',
        url:`/post_like/${id}`,
        headers:{
            Authorization:getToken()
        }
    })
}

// 根据 文章id 获取评论列表
export const getPostCommentById = (id) =>{
    return axios({
        method:'get',
        url:`/post_comment/${id}`
    })
}

//发表评论
export const addPostComment = ({id,...data})=>{
    return axios({
        method:'post',
        url:`/post_comment/${id}`,
        data:data,
        headers:{
            Authorization:getToken()
        }
    })
}

// 获取用户评论列表
export const getUserComment = ()=>{
    return axios({
        method:'get',
        url:`/user_comments/`,
        headers:{
            Authorization:getToken()
        }
    })
}

// 获取搜索文章列表
export const getPostSearch = (params) =>{
    return axios({
        method:'get',
        url:`/post_search`,
        params:params
    })
}